ForkLight: A Control-Synchronous Parallel Programming Language

نویسندگان

  • Christoph W. Kessler
  • Helmut Seidl
چکیده

ForkLight is an imperative, task-parallel programming language for massively parallel shared memory machines. It is based on ANSI C, follows the SPMD model of parallel program execution, provides a sequentially consistent shared memory, and supports dynamically nested parallelism. While no assumptions are made on uniformity of memory access time or instruction– level synchronicity of the underlying hardware, ForkLight offers a simple but powerful mechanism for coordination of parallel processes in the tradition and notation of PRAM algorithms: Beyond its asynchronous default execution mode, ForkLight offers a mode for control–synchronous execution that relates the program’s block structure to parallel control flow. We give a scheme for compiling ForkLight to C with calls to a very small set of basic shared memory access operations like atomic fetch&add. This yields portability across parallel architectures and exploits the local optimizations of their native C compilers. Our implementation is publically available; performance results are reported. We also discuss translation to OpenMP.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

E—A Language for Thread-Level Parallel Programming on Synchronous Shared Memory NOCs

As systems on chip are evolving to networks on chip (NOC) providing a unified communication infrastructure for a number of computational resources, being able to easily implement computational tasks as a parallel program that can be efficiently executed by multiple resources together is becoming increasingly important. Recent advances in thread-level parallel (TLP) architectures have made it po...

متن کامل

A Loosely Synchronized Execution Model for a Simple Data-Parallel Language (Extended Abstract)

Data-Parallel languages ooer a programming model structured and easy to understand. The challenge consists in taking advantage of the power of actual architectures by a compilation process allowing to reduce the number and the complexity of synchronizations. In this paper, we clearly separate the synchronous programming model from the asynchronous execution model by the way of a translation fro...

متن کامل

Semantics of a Functional Bulk Synchronous Parallel Language with Imperative Features

The Bulk Synchronous Parallel ML (BSML) is a functional language for Bulk Synchronous Parallel (BSP) programming, on top of the sequential functional language Objective Caml. It is based on an extension of the λ-calculus by parallel operations on a parallel data structure named parallel vector, which is given by intention. The Objective Caml language is a functional language but it also offers ...

متن کامل

Contribution to Semantics of a Data-Parallel Logic Programming Language

We propose an alternate approach to the usual introduction of parallelism in logic programming. Instead of detecting the intrinsic parallelism by an automatic and complex data-ow analysis, or upgrading standard logic languages by explicit concurrent control structures leading to task-oriented languages, we tightly integrate the concepts of the data-parallel programming model and of logic progra...

متن کامل

TPML: Parallel Meta Language for Scientific and Engineering Computations using Transputers

The experience with the transputer implementation of parallel processing algorithms, in the field of real-time process control, has led to the development of a parallel meta language (TPML) which offers a generic tool for programming transputer platforms. The meta language complies with the Bulk Synchronous Parallel (BSP) processing model proposed by Valiant [1], and it is seen as a prototype f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Universität Trier, Mathematik/Informatik, Forschungsbericht

دوره 98-13  شماره 

صفحات  -

تاریخ انتشار 1998